package com.im.common.enums.command;

/**
 * 命令类型枚举
 */
public enum CommandType {

    USER("4", "用户命令"),
    FRIEND("3", "好友命令"),
    GROUP("2", "群组命令"),
    MESSAGE("1", "消息命令"),
    ;

    private String commandType;
    private String desc;

    /**
     * 获取命令类型值
     *
     * @return 命令类型值
     */
    public String getCommandType() {
        return commandType;
    }

    public String getDesc() {
        return desc;
    }

    /**
     * 构造函数
     *
     * @param commandType 命令类型值
     */
    CommandType(String commandType, String desc) {
        this.commandType = commandType;
        this.desc = desc;
    }

    /**
     * 根据命令类型值获取对应的命令类型
     *
     * @param ordinal 命令类型值
     * @return 对应的命令类型，如果没有匹配的类型则返回null
     */
    public static CommandType getCommandType(String ordinal) {
        for (int i = 0; i < CommandType.values().length; i++) {
            if (CommandType.values()[i].getCommandType().equals(ordinal)) {
                return CommandType.values()[i];
            }
        }
        return null;
    }

}

